<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml" xmlns:shiro="http://www.w3.org/1999/xhtml">
<meta charset="utf-8">
<head th:include="include :: header">
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content ">
    <div class="col-sm-12">
        <div class="ibox">
            <div class="ibox-body">
                <div class="fixed-table-toolbar">
                    <div class="columns pull-left">
                        <button type="button" class="btn  btn-primary" onclick="add()"
                                shiro:hasPermission="jzweb:orderSpecificationsOther:save">
                            <i class="fa fa-plus" aria-hidden="true"></i>添加
                        </button>
                        <button type="button" class="btn btn-success" onclick="refndExcel()"
                                shiro:hasPermission="jzweb:orderSpecificationsOther:export">
                            导出
                        </button>
                    </div>
                    <div class="columns pull-left">
                        <!--							<span style="font-size: 20px;font-weight: bold">当前账户余额：<span th:text="${money}" style="color: red"></span>&nbsp;元</span>-->
                    </div>
                    <div class="columns pull-right">
                        <button class="btn btn-success" onclick="reLoad()"
                        >查询
                        </button>
                    </div>
                    <!--                    <div class="columns pull-right col-md-1.5 nopadding">-->
                    <!--                        <input id="productName" type="text" class="form-control"-->
                    <!--                               placeholder="请输入商品名称">-->
                    <!--                    </div>-->
                    <div class="columns pull-right col-md-1.5 nopadding" style="display: flex"
                    >
                        <input id="orderNumber" type="text" class="form-control" name="orderNumber"
                               placeholder="请输入订单编号">
                        <input id="unitName" type="text" class="form-control" name="unitName"
                               placeholder="请输入学校名称">
                        <select id="category" name="category" class="form-control">
                            <option value="">请选择商品分类</option>
                            <option value="0">教材</option>
                        </select>
                    </div>
                </div>
                <table id="exampleTable" data-mobile-responsive="true">
                </table>
            </div>
        </div>
    </div>
</div>
<!--shiro控制bootstraptable行内按钮看见性 -->
<div>
    <script type="text/javascript">
        var s_edit_h = 'hidden';
        var s_remove_h = 'hidden';
        var s_examine_h = 'hidden';
        var s_info_h = 'hidden'
        var s_fpexamine_h = 'hidden'
    </script>
</div>
<div shiro:hasPermission="jzweb:orderSpecificationsOther:detail">
    <script type="text/javascript">
        s_info_h = '';
    </script>
</div>
<div shiro:hasPermission="jzweb:orderSpecificationsOther:edit">
    <script type="text/javascript">
        s_edit_h = '';
    </script>
</div>
<div shiro:hasPermission="jzweb:orderSpecificationsOther:remove">
    <script type="text/javascript">
        var s_remove_h = '';
    </script>
</div>
<div shiro:hasPermission="jzweb:orderSpecsOther:examine">
    <script type="text/javascript">
        var s_examine_h = '';
    </script>
</div>
<div shiro:hasPermission="jzweb:orderSpecsOther:fpexamine">
    <script type="text/javascript">
        s_fpexamine_h = '';
    </script>
</div>
</div>
<div th:include="include :: footer"></div>
<!--	<script type="text/javascript" src="/js/webJs/jzweb/order/order.js"></script>-->
<style>
    .height-set .bootstrap-table .fixed-table-container .fixed-table-body {
        height: 560px !important;
    }
</style>
<script>
    var prefix = "/jzweb/orderSpecs";
    $(function () {
        load();
    });

    function load() {
        $('#exampleTable')
            .bootstrapTable(
                {
                    method: 'POST', // 服务器数据的请求方式 get or post
                    url: prefix + "/list", // 服务器数据的加载地址
                    //	showRefresh : true,
                    //	showToggle : true,
                    //	showColumns : true,
                    iconSize: 'outline',
                    toolbar: '#exampleToolbar',
                    striped: true, // 设置为true会有隔行变色效果
                    dataType: "json", // 服务器返回的数据类型
                    pagination: true, // 设置为true会在底部显示分页条
                    singleSelect: false, // 设置为true将禁止多选
                    contentType: "application/x-www-form-urlencoded",
                    // //发送到服务器的数据编码类型
                    pageSize: 10, // 如果设置了分页，每页数据条数
                    pageNumber: 1, // 如果设置了分布，首页页码
                    //search : true, // 是否显示搜索框
                    showColumns: false, // 是否显示内容下拉框（选择显示的列）
                    sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                    queryParamsType: "",
                    // //设置为limit则会发送符合RESTFull格式的参数
                    queryParams: function (params) {
                        return {
                            //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                            current: params.pageNumber,
                            size: params.pageSize,
                            category: $('#category').val(),
                            unitName: $('#unitName').val(),
                            orderNumber: $('#orderNumber').val(),
                            orderType: 1
                        };
                    },
                    // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                    // queryParamsType = 'limit' ,返回参数必须包含
                    // limit, offset, search, sort, order 否则, 需要包含:
                    // pageSize, pageNumber, searchText, sortName,
                    // sortOrder.
                    // 返回false将会终止请求
                    responseHandler: function (res) {
                        return {
                            "total": res.data.total,//总数
                            "rows": res.data.records   //数据
                        };
                    },
                    columns: [
                        {
                            checkbox: true
                        },
                        {
                            field: 'orderNumber',
                            title: '订单编号',
                            width: '100px'
                        },

                        {
                            field: 'year',
                            title: '年份'
                        },
                        // {
                        //     field: 'category',
                        //     title: '商品分类',
                        //     formatter: function (value, row, index) {
                        //         return value == 0 ? '教材' : ''
                        //     }
                        // },
                        {
                            field: 'typeName',
                            title: '商品类型',
                            width: '100px',
                        },
                        {
                            field: 'bookName',
                            title: '书籍名称',
                            width: '300px',
                            formatter: function (value, row, index) {
                                // 使用正则表达式将所有的'/'替换为'</div><div>'以实现换行
                                var formattedValue = value.replace(/\//g, '</div><div>');
                                // 包裹整个字符串以确保HTML结构正确
                                return `<div style="width: 300px">${formattedValue}</div>`;
                            }
                        },

                        // {
                        //     field: 'money',
                        //     title: '商品价格'
                        // },
                        {
                            field: 'province',
                            title: '省份',
                        },
                        {
                            field: 'city',
                            title: '所属市'
                        },
                        {
                            field: 'county',
                            title: '所属区县'
                        },
                        {
                            field: 'createrName',
                            title: '下单人',
                            width: '110px',
                        },

                        {
                            field: 'createrDate',
                            title: '下单时间',
                            width: '150px',
                        },
                        {
                            field: 'trackingNumber',
                            title: '快递单号',
                        },
                        {
                            field: 'trackingName',
                            title: '快递名称',
                        },
                        {
                            field: 'recipient',
                            title: '收件人',
                            width: '110px',
                        },
                        {
                            field: 'telephone',
                            title: '收件人电话',
                            width: '110px',
                        },
                        {
                            field: 'createrDate',
                            title: '审核状态',
                            width: '110px',
                            formatter: function (value, row, index) {
                                let status = ""
                                if (row.status == 0) {
                                    status = '未审核'
                                }
                                if (row.status == 1) {
                                    status = '审核通过'
                                }
                                if (row.status == 2) {
                                    status = '审核未通过'
                                }
                                return status
                            }

                        },
                        {
                            field: 'collectionTime',
                            title: '收款时间',
                        },
                        {
                            title: '操作',
                            field: 'id',
                            align: 'center',
                            width: '100px',
                            formatter: function (value, row, index) {
                                var e = '<a class="btn btn-primary btn-sm config-property-btn ' + s_edit_h + '" data-list="' + encodeURIComponent(JSON.stringify(row)) + '" data-id="' + row.id + '"  href="#" mce_href="#" title="编辑">编辑</a>';
                                // var d = '<a class="btn btn-danger btn-sm ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
                                //     + row.id
                                //     + '\')">删除</a>';
                                // // jzweb:orderSpecs:examine
                                // var g = '<a class="btn btn-warning btn-sm config-property-btn2 ' + s_examine_h + '" href="#" title="审核" data-list="' + encodeURIComponent(JSON.stringify(row)) + '" data-id="' + row.id + '"  mce_href="#">审核</a>';
                                // var f = '<a class="btn btn-success btn-sm config-property-btn1 ' + s_info_h + '" href="#" title="详情"  mce_href="#" data-list="' + encodeURIComponent(JSON.stringify(row)) + '" data-id="' + row.id + '">详情</a>';
                                // var h = '<a class="btn btn-warning btn-sm ' + s_fpexamine_h + '" href="#" title="发票审核"  mce_href="#" onclick="fpExamine(\''
                                //     + row.id
                                //     + '\')">发票审核</a>';
                                // return row.status != 0 ? f + g + d : f + e + g + d;
                                var s = '<a id="moreOper" class="btn btn-warning btn-sm moreOper config-property-btn3" href="#"  data-list="' + encodeURIComponent(JSON.stringify(row)) + '"  data-id="' + row.id + '"  title="更多操作" >更多操作</a>';
                                return row.status != 0 ? s : e +s;
                            }
                        }
                    ],
                    onAll: function (value,data,index) {
                        console.log(value,data,index)
                        var arowId = $(this).closest('tr').data('index'); // 获取行索引或其他唯一标识
                        var arowData = $('#exampleTable').bootstrapTable('getData')[arowId]; // 根据索引获取行数据
                        console.log(arowData,arowId,'arowData')
                        layui.use('dropdown', function () {
                            var dropdownData = "[";
                            if (s_remove_h == '') {
                                dropdownData += "{title:'删除',id:'2'},";
                            }
                            if (s_examine_h == '') {
                                dropdownData += "{title:'审核',id:'3'},";
                            }
                            if (s_info_h == '') {
                                dropdownData += "{title:'详情',id:'4'},";
                            }
                            if (s_fpexamine_h == '') {
                                dropdownData += "{title:'财务审核',id:'5'},";
                            }

                            dropdownData = dropdownData.substring(0, dropdownData.length - 1);
                            dropdownData += "]"
                            //点击回调
                            var dropdown = layui.dropdown;
                            dropdown.render({
                                elem: '.moreOper'
                                , data: eval('(' + dropdownData + ')')
                                , click: function (data, othis) {
                                    var elem = $(this.elem)
                                        , listId = elem.data('id'); //表格列表的预埋数据
                                    let rowData = JSON.parse(sessionStorage.getItem('order_other'))
                                    let rowId = rowData.id
                                    switch (data.id) {
                                        case '2':
                                            remove(rowId);
                                            break;
                                        case '3':
                                            shenhe(rowId, rowData);
                                            break;
                                        case '4':
                                            resetPwd(rowId, rowData);
                                            break;
                                        case '5':
                                            fpExamine(rowId);
                                            break;
                                    }
                                    //layer.msg('得到表格列表的 id：'+ listId +'，下拉菜单 id：'+ data.id);
                                }
                            });
                        })
                    }
                    ,
                });
    }

    function reLoad() {
        $('#exampleTable').bootstrapTable('refresh');
    }

    function refndExcel() {
        var rows = $('#exampleTable').bootstrapTable('getSelections');
        var ids = new Array();
        var flag = true
        // 遍历所有选择的行数据，取每条数据对应的ID
        $.each(rows, function (i, row) {
            ids[i] = row['id'];
        });
        console.log(ids, 'ids')
        if (ids.length > 0) {
            // $.ajax({
            //     type: 'GET',
            //     contentType : "application/x-www-form-urlencoded",
            //     data: {
            //         "idList": ids,
            //         'orderType':1
            //     },
            //     url: '/jzweb/orderSpecs/download',
            //     success: function (r) {
            //         console.log(r)
            //         // window.location.href=r
            //     }
            // });
            window.location.href = '/jzweb/orderSpecs/download?orderType=1&idList=' + ids
        } else {
            window.location.href = '/jzweb/orderSpecs/download?orderType=1'
        }
    }

    function download() {

    }

    $(document).on('click', '.config-property-btn', function (e) {
        e.preventDefault(); // 阻止默认行为
        var id = $(this).data('id'); // 获取data-id
        var rowDataStr = $(this).data('list'); // 获取data-list
        var rowData = JSON.parse(decodeURIComponent(rowDataStr)); // 解码并解析JSON字符串

        // 现在你可以使用rowData对象了
        edit(id, rowData);
    });
    $(document).on('click', '.config-property-btn3', function (e) {
        e.preventDefault(); // 阻止默认行为
        var id = $(this).data('id'); // 获取data-id
        var rowDataStr = $(this).data('list'); // 获取data-list
        var rowData = JSON.parse(decodeURIComponent(rowDataStr)); // 解码并解析JSON字符串
        // 现在你可以使用rowData对象了
        sessionStorage.setItem('order_other', JSON.stringify(rowData))
    });

    // $(document).on('click', '.config-property-btn2', function (e) {
    //     e.preventDefault(); // 阻止默认行为
    //     var id = $(this).data('id'); // 获取data-id
    //     var rowDataStr = $(this).data('list'); // 获取data-list
    //     var rowData = JSON.parse(decodeURIComponent(rowDataStr)); // 解码并解析JSON字符串
    //
    //     // 现在你可以使用rowData对象了
    //     shenhe(id, rowData);
    // });
    // $(document).on('click', '.config-property-btn1', function (e) {
    //     e.preventDefault(); // 阻止默认行为
    //     var id = $(this).data('id'); // 获取data-id
    //     var rowDataStr = $(this).data('list'); // 获取data-list
    //     var rowData = JSON.parse(decodeURIComponent(rowDataStr)); // 解码并解析JSON字符串
    //
    //     // 现在你可以使用rowData对象了
    //     resetPwd(id, rowData);
    // });

    function fpExamine(id) {
        layer.open({
            type: 2,
            title: '财务审核发票状态',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '520px'],
            content: prefix + '/editCw/' + id // iframe的url
        });
    }

    function add() {
        layer.open({
            type: 2,
            title: '增加',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '600px'],
            content: prefix + '/addOther' // iframe的url
        });
    }

    function shenhe(id, rowData) {
        sessionStorage.setItem('order_shenhe', JSON.stringify(rowData))
        layer.open({
            type: 2,
            title: '审核',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '600px'],
            content: prefix + '/examineOther' // iframe的url
        });
    }

    function edit(id, rowData) {
        sessionStorage.setItem('order', JSON.stringify(rowData))
        layer.open({
            type: 2,
            title: '编辑',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '600px'],
            content: prefix + '/editOther/' + id // iframe的url
        });
    }

    function remove(id) {
        layer.confirm('确定要删除选中的记录？', {
            btn: ['确定', '取消']
        }, function () {
            $.ajax({
                url: prefix + "/remove",
                type: "post",
                data: {
                    'id': id
                },
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        })
    }

    function resetPwd(id, rowData) {
        sessionStorage.setItem('order_info', JSON.stringify(rowData))
        layer.open({
            type: 2,
            title: '编辑',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '600px'],
            content: prefix + '/infoOther/' + id // iframe的url
        });
    }

    function batchRemove() {
        var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
        if (rows.length == 0) {
            layer.msg("请选择要删除的数据");
            return;
        }
        layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
            btn: ['确定', '取消']
            // 按钮
        }, function () {
            var ids = new Array();
            // 遍历所有选择的行数据，取每条数据对应的ID
            $.each(rows, function (i, row) {
                ids[i] = row['id'];
            });
            $.ajax({
                type: 'POST',
                data: {
                    "ids": ids
                },
                url: prefix + '/batchRemove',
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        }, function () {

        });
    }
</script>
</body>
</html>